package com.traffic.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 外聘人员合同对象 per_external_contract
 * 
 * @author 郭世纪
 * @date 2024-12-08
 */
public class PerExternalContract extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 甲方（用人单位）名称 */
    @Excel(name = "甲方", readConverterExp = "用=人单位")
    private String owner;

    /** 法定代表人 */
    @Excel(name = "法定代表人")
    private String legalRepresentative;

    /** 注册地址 */
    @Excel(name = "注册地址")
    private String registeredAddress;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String phone;

    /** 乙方（劳动者）姓名 */
    @Excel(name = "乙方", readConverterExp = "劳=动者")
    private String partyB;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String identification;

    /** 现居住地 */
    @Excel(name = "现居住地")
    private String home;

    /** 合同开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 合同结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 从事岗位 */
    @Excel(name = "从事岗位")
    private String post;

    /** 工作地点 */
    @Excel(name = "工作地点")
    private String workPlace;

    /** 工作时间 */
    @Excel(name = "工作时间")
    private String workTime;

    /** 休假开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "休假开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date restStart;

    /** 休假结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "休假结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date restEnd;

    /** 试用期工资 */
    @Excel(name = "试用期工资")
    private String salary;

    /** 发薪日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发薪日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payday;

    /** 创建时间 */
    private Date creatTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setOwner(String owner) 
    {
        this.owner = owner;
    }

    public String getOwner() 
    {
        return owner;
    }
    public void setLegalRepresentative(String legalRepresentative) 
    {
        this.legalRepresentative = legalRepresentative;
    }

    public String getLegalRepresentative() 
    {
        return legalRepresentative;
    }
    public void setRegisteredAddress(String registeredAddress) 
    {
        this.registeredAddress = registeredAddress;
    }

    public String getRegisteredAddress() 
    {
        return registeredAddress;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setPartyB(String partyB) 
    {
        this.partyB = partyB;
    }

    public String getPartyB() 
    {
        return partyB;
    }
    public void setIdentification(String identification) 
    {
        this.identification = identification;
    }

    public String getIdentification() 
    {
        return identification;
    }
    public void setHome(String home) 
    {
        this.home = home;
    }

    public String getHome() 
    {
        return home;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setPost(String post) 
    {
        this.post = post;
    }

    public String getPost() 
    {
        return post;
    }
    public void setWorkPlace(String workPlace) 
    {
        this.workPlace = workPlace;
    }

    public String getWorkPlace() 
    {
        return workPlace;
    }
    public void setWorkTime(String workTime) 
    {
        this.workTime = workTime;
    }

    public String getWorkTime() 
    {
        return workTime;
    }
    public void setRestStart(Date restStart) 
    {
        this.restStart = restStart;
    }

    public Date getRestStart() 
    {
        return restStart;
    }
    public void setRestEnd(Date restEnd) 
    {
        this.restEnd = restEnd;
    }

    public Date getRestEnd() 
    {
        return restEnd;
    }
    public void setSalary(String salary) 
    {
        this.salary = salary;
    }

    public String getSalary() 
    {
        return salary;
    }
    public void setPayday(Date payday) 
    {
        this.payday = payday;
    }

    public Date getPayday() 
    {
        return payday;
    }
    public void setCreatTime(Date creatTime) 
    {
        this.creatTime = creatTime;
    }

    public Date getCreatTime() 
    {
        return creatTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("owner", getOwner())
            .append("legalRepresentative", getLegalRepresentative())
            .append("registeredAddress", getRegisteredAddress())
            .append("phone", getPhone())
            .append("partyB", getPartyB())
            .append("identification", getIdentification())
            .append("home", getHome())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("post", getPost())
            .append("workPlace", getWorkPlace())
            .append("workTime", getWorkTime())
            .append("restStart", getRestStart())
            .append("restEnd", getRestEnd())
            .append("salary", getSalary())
            .append("payday", getPayday())
            .append("creatTime", getCreatTime())
            .toString();
    }
}
